home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
dev
/
gui
/
muibuilderv11.lha
/
muibuilder
/
mb
/
asm
/
includes
/
mui_alt.i
next >
Wrap
Text File
|
1994-03-15
|
47KB
|
1,169 lines
****************************************************************************
**
** MUI - MagicUserInterface
** (c) 1993 by Stefan Stuntz
**
** Main Header File
**
*** Assembler modifications 26-Aug-93 by Henri Veisterä.
*** Modifications for MUIBuilder 16-Mar-94 by Michal Kara
**
****************************************************************************
** General Header File Information
****************************************************************************
**
** All macro and structure definitions follow these rules:
**
** Name Meaning
**
** MUIC_<class> Name of a class
** MUIM_<class>_<method> Method
** MUIP_<class>_<method> Methods parameter structure
** MUIV_<class>_<method>_<x> Special method value
** MUIA_<class>_<attrib> Attribute
** MUIV_<class>_<attrib>_<x> Special attribute value
** MUIE_<error> Error return code from MUI_Error()
** MUII_<name> Standard MUI image
**
** MUIA_... attribute definitions are followed by a comment
** consisting of the three possible letters I, S and G.
** I: it's possible to specify this attribute at object creation time.
** S: it's possible to change this attribute with SetAttrs().
** G: it's possible to get this attribute with GetAttr().
**
IFND LIBRARIES_MUI_I
LIBRARIES_MUI_I SET 1
IFND EXEC_TYPES_I
INCLUDE "exec/types.i"
ENDC ;EXEC_TYPES_I
IFND INTUITION_CLASSES_I
INCLUDE "intuition/classes.i"
ENDC ;INTUITION_CLASSES_I
IFND INTUITION_SCREENS_I
INCLUDE "intuition/screens.i"
ENDC ;INTUITION_SCREENS_I
IFND UTILITY_HOOKS_I
INCLUDE "utility/hooks.i"
ENDC ;UTILITY_HOOKS_I
****************************************************************************
** Library specification
****************************************************************************
MUIMASTER_NAME MACRO
dc.b "muimaster.library",0
even
ENDM
MUIMASTER_VMIN EQU 4
CALLMUI MACRO ; Func
MOVE.L MUIMASTER_BASE,a6
JSR _LVO\1(a6)
ENDM
NULL equ 0
TRUE equ 1
FALSE equ NULL
****************************************************************************
** ARexx Interface
****************************************************************************
STRUCTURE MUI_Command,0
APTR mc_Name
APTR mc_Template
LONG mc_Parameters
STRUCT mc_Hook,h_SIZEOF
STRUCT mc_Reserved,4*5
LABEL MUI_Command_SIZEOF
MC_TEMPLATE_ID EQU ~0
****************************************************************************
** Return values for MUI_Error()
****************************************************************************
MUIE_OK EQU 0
MUIE_OutOfMemory EQU 1
MUIE_OutOfGfxMemory EQU 2
MUIE_InvalidWindowObject EQU 3
MUIE_MissingLibrary EQU 4
MUIE_NoARexx EQU 5
MUIE_SingleTask EQU 6
****************************************************************************
** Standard MUI Images
****************************************************************************
MUII_WindowBack EQU 0
MUII_RequesterBack EQU 1
MUII_ButtonBack EQU 2
MUII_ListBack EQU 3
MUII_TextBack EQU 4
MUII_PropBack EQU 5
MUII_ActiveBack EQU 6
MUII_SelectedBack EQU 7
MUII_ListCursor EQU 8
MUII_ListSelect EQU 9
MUII_ListSelCur EQU 10
MUII_ArrowUp EQU 11
MUII_ArrowDown EQU 12
MUII_ArrowLeft EQU 13
MUII_ArrowRight EQU 14
MUII_CheckMark EQU 15
MUII_RadioButton EQU 16
MUII_Cycle EQU 17
MUII_PopUp EQU 18
MUII_PopFile EQU 19
MUII_PopDrawer EQU 20
MUII_PropKnob EQU 21
MUII_Drawer EQU 22
MUII_HardDisk EQU 23
MUII_Disk EQU 24
MUII_Chip EQU 25
MUII_Volume EQU 26
MUII_PopUpBack EQU 27
MUII_Network EQU 28
MUII_Assign EQU 29
MUII_TapePlay EQU 30
MUII_TapePlayBack EQU 31
MUII_TapePause EQU 32
MUII_TapeStop EQU 33
MUII_TapeRecord EQU 34
MUII_GroupBack EQU 35
MUII_SliderBack EQU 36
MUII_SliderKnob EQU 37
MUII_TapeUp EQU 38
MUII_TapeDown EQU 39
MUII_Count EQU 40
MUII_BACKGROUND EQU (128+0)
MUII_SHADOW EQU (128+1)
MUII_SHINE EQU (128+2)
MUII_FILL EQU (128+3)
MUII_SHADOWBACK EQU (128+4)
MUII_SHADOWFILL EQU (128+5)
MUII_SHADOWSHINE EQU (128+6)
MUII_FILLBACK EQU (128+7)
MUII_FILLSHINE EQU (128+8)
MUII_SHINEBACK EQU (128+9)
MUII_FILLBACK2 EQU (128+10)
MUII_HSHINEBACK EQU (128+11)
MUII_HSHADOWBACK EQU (128+12)
MUII_HSHINESHINE EQU (128+13)
MUII_HSHADOWSHADOW EQU (128+14)
MUII_N1HSHINE EQU (128+15)
MUII_LASTPAT EQU (128+16)
****************************************************************************
** Special values for some methods
****************************************************************************
MUIV_TriggerValue EQU $49893131
MUIV_EveryTime EQU $49893131
MUIV_Application_Save_ENV EQU 0
MUIV_Application_Save_ENVARC EQU ~0
MUIV_Application_Load_ENV EQU 0
MUIV_Application_Load_ENVARC EQU ~0
MUIV_Application_ReturnID_Quit EQU -1
MUIV_List_Insert_Top EQU 0
MUIV_List_Insert_Active EQU -1
MUIV_List_Insert_Sorted EQU -2
MUIV_List_Insert_Bottom EQU -3
MUIV_List_Remove_First EQU 0
MUIV_List_Remove_Active EQU -1
MUIV_List_Remove_Last EQU -2
MUIV_List_Select_Off EQU 0
MUIV_List_Select_On EQU 1
MUIV_List_Select_Toggle EQU 2
MUIV_List_Select_Ask EQU 3
MUIV_List_Jump_Active EQU -1
MUIV_List_GetEntry_Active EQU -1
MUIV_List_Select_Active EQU -1
MUIV_List_Select_All EQU -2
MUIV_List_Redraw_Active EQU -1
MUIV_List_Redraw_All EQU -2
MUIV_List_Exchange_Active EQU -1
MUIV_Colorpanel_GetColor_Active EQU -1
MUIV_Colorpanel_SetColor_Active EQU -1
**************************************************************************
** Control codes for text strings
**************************************************************************
;;;;;;;;;;;!!!!!!!!!!!!!!!!
***************************************************************************
** Parameter structures for some classes
***************************************************************************
STRUCTURE MUI_Palette_Entry,0
LONG mpe_ID
ULONG mpe_Red
ULONG mpe_Green
ULONG mpe_Blue
LONG mpe_Group
LABEL MUI_Palette_Entry_SIZEOF
MUIV_Palette_Entry_End EQU -1
STRUCTURE MUI_Scrmodelist_Entry,0
CPTR sme_Name
ULONG sme_ModeID
LABEL MUI_Scrmodelist_Entry_SIZEOF
;****************************************************************************
;** Notify.mui 7.13 (01.12.93) **
;****************************************************************************
;** Methods **
MUIM_CallHook EQU $8042b96b
MUIM_KillNotify EQU $8042d240
MUIM_MultiSet EQU $8042d356
MUIM_Notify EQU $8042c9cb
MUIM_Set EQU $8042549a
MUIM_SetAsString EQU $80422590
MUIM_WriteLong EQU $80428d86
MUIM_WriteString EQU $80424bf4
;** Attributes **
MUIA_AppMessage EQU $80421955 ;** ..g struct AppMessage * **
MUIA_HelpFile EQU $80423a6e ;** isg STRPTR **
MUIA_HelpLine EQU $8042a825 ;** isg LONG **
MUIA_HelpNode EQU $80420b85 ;** isg STRPTR **
MUIA_NoNotify EQU $804237f9 ;** .s. BOOL **
MUIA_Revision EQU $80427eaa ;** ..g LONG **
MUIA_UserData EQU $80420313 ;** isg ULONG **
MUIA_Version EQU $80422301 ;** ..g LONG **
;****************************************************************************
;** Application.mui 7.12 (28.11.93) **
;****************************************************************************
;** Methods **
MUIM_Application_GetMenuCheck EQU $8042c0a7
MUIM_Application_GetMenuState EQU $8042a58f
MUIM_Application_Input EQU $8042d0f5
MUIM_Application_InputBuffered EQU $80427e59
MUIM_Application_Load EQU $8042f90d
MUIM_Application_PushMethod EQU $80429ef8
MUIM_Application_ReturnID EQU $804276ef
MUIM_Application_Save EQU $804227ef
MUIM_Application_SetMenuCheck EQU $8042a707
MUIM_Application_SetMenuState EQU $80428bef
MUIM_Application_ShowHelp EQU $80426479
;** Attributes **
MUIA_Application_Active EQU $804260ab ;** isg BOOL **
MUIA_Application_Author EQU $80424842 ;** i.g STRPTR **
MUIA_Application_Base EQU $8042e07a ;** i.g STRPTR **
MUIA_Application_Broker EQU $8042dbce ;** ..g Broker * **
MUIA_Application_BrokerHook EQU $80428f4b ;** isg struct Hook * **
MUIA_Application_BrokerPort EQU $8042e0ad ;** ..g struct MsgPort * **
MUIA_Application_BrokerPri EQU $8042c8d0 ;** i.g LONG **
MUIA_Application_Commands EQU $80428648 ;** isg struct MUI_Command * **
MUIA_Application_Copyright EQU $8042ef4d ;** i.g STRPTR **
MUIA_Application_Description EQU $80421fc6 ;** i.g STRPTR **
MUIA_Application_DiskObject EQU $804235cb ;** isg struct DiskObject * **
MUIA_Application_DoubleStart EQU $80423bc6 ;** ..g BOOL **
MUIA_Application_DropObject EQU $80421266 ;** is. Object * **
MUIA_Application_Iconified EQU $8042a07f ;** .sg BOOL **
MUIA_Application_Menu EQU $80420e1f ;** i.g struct NewMenu * **
MUIA_Application_MenuAction EQU $80428961 ;** ..g ULONG **
MUIA_Application_MenuHelp EQU $8042540b ;** ..g ULONG **
MUIA_Application_RexxHook EQU $80427c42 ;** isg struct Hook * **
MUIA_Application_RexxMsg EQU $8042fd88 ;** ..g struct RxMsg * **
MUIA_Application_RexxString EQU $8042d711 ;** .s. STRPTR **
MUIA_Application_SingleTask EQU $8042a2c8 ;** i.. BOOL **
MUIA_Application_Sleep EQU $80425711 ;** .s. BOOL **
MUIA_Application_Title EQU $804281b8 ;** i.g STRPTR **
MUIA_Application_Version EQU $8042b33f ;** i.g STRPTR **
MUIA_Application_Window EQU $8042bfe0 ;** i.. Object * **
;****************************************************************************
;** Window.mui 7.16 (03.12.93) **
;****************************************************************************
;** Methods **
MUIM_Window_GetMenuCheck EQU $80420414
MUIM_Window_GetMenuState EQU $80420d2f
MUIM_Window_ScreenToBack EQU $8042913d
MUIM_Window_ScreenToFront EQU $804227a4
MUIM_Window_SetCycleChain EQU $80426510
MUIM_Window_SetMenuCheck EQU $80422243
MUIM_Window_SetMenuState EQU $80422b5e
MUIM_Window_ToBack EQU $8042152e
MUIM_Window_ToFront EQU $8042554f
;** Attributes **
MUIA_Window_Activate EQU $80428d2f ;** isg BOOL **
MUIA_Window_ActiveObject EQU $80427925 ;** .sg Object * **
MUIA_Window_AltHeight EQU $8042cce3 ;** i.g LONG **
MUIA_Window_AltLeftEdge EQU $80422d65 ;** i.g LONG **
MUIA_Window_AltTopEdge EQU $8042e99b ;** i.g LONG **
MUIA_Window_AltWidth EQU $804260f4 ;** i.g LONG **
MUIA_Window_AppWindow EQU $804280cf ;** i.. BOOL **
MUIA_Window_Backdrop EQU $8042c0bb ;** i.. BOOL **
MUIA_Window_Borderless EQU $80429b79 ;** i.. BOOL **
MUIA_Window_CloseGadget EQU $8042a110 ;** i.. BOOL **
MUIA_Window_CloseRequest EQU $8042e86e ;** ..g BOOL **
MUIA_Window_DefaultObject EQU $804294d7 ;** isg Object * **
MUIA_Window_DepthGadget EQU $80421923 ;** i.. BOOL **
MUIA_Window_DragBar EQU $8042045d ;** i.. BOOL **
MUIA_Window_Height EQU $80425846 ;** i.g LONG **
MUIA_Window_ID EQU $804201bd ;** isg ULONG **
MUIA_Window_InputEvent EQU $804247d8 ;** ..g struct InputEvent * **
MUIA_Window_LeftEdge EQU $80426c65 ;** i.g LONG **
MUIA_Window_Menu EQU $8042db94 ;** i.. struct NewMenu * **
MUIA_Window_NoMenus EQU $80429df5 ;** .s. BOOL **
MUIA_Window_Open EQU $80428aa0 ;** .sg BOOL **
MUIA_Window_PublicScreen EQU $804278e4 ;** isg STRPTR **
MUIA_Window_RefWindow EQU $804201f4 ;** is. Object * **
MUIA_Window_RootObject EQU $8042cba5 ;** i.. Object * **
MUIA_Window_Screen EQU $8042df4f ;** isg struct Screen * **
MUIA_Window_ScreenTitle EQU $804234b0 ;** isg STRPTR **
MUIA_Window_SizeGadget EQU $8042e33d ;** i.. BOOL **
MUIA_Window_SizeRight EQU $80424780 ;** i.. BOOL **
MUIA_Window_Sleep EQU $8042e7db ;** .sg BOOL **
MUIA_Window_Title EQU $8042ad3d ;** isg STRPTR **
MUIA_Window_TopEdge EQU $80427c66 ;** i.g LONG **
MUIA_Window_Width EQU $8042dcae ;** i.g LONG **
MUIA_Window_Window EQU $80426a42 ;** ..g struct Window * **
MUIV_Window_ActiveObjectNone EQU 0
MUIV_Window_ActiveObjectNext EQU -1
MUIV_Window_ActiveObjectPrev EQU -2
MUIV_Window_AltHeight_MinMax EQU 0
MUIV_Window_AltHeight_Visible EQU -100
MUIV_Window_AltHeight_Screen EQU -200
MUIV_Window_AltHeight_Scaled EQU -1000
MUIV_Window_AltLeftEdge_Centered EQU -1
MUIV_Window_AltLeftEdge_Moused EQU -2
MUIV_Window_AltLeftEdge_NoChange EQU -1000
MUIV_Window_AltTopEdge_Centered EQU -1
MUIV_Window_AltTopEdge_Moused EQU -2
MUIV_Window_AltTopEdge_Delta EQU -3
MUIV_Window_AltTopEdge_NoChange EQU -1000
MUIV_Window_AltWidth_MinMax EQU 0
MUIV_Window_AltWidth_Visible EQU -100
MUIV_Window_AltWidth_Screen EQU -200
MUIV_Window_AltWidth_Scaled EQU -1000
MUIV_Window_Height_MinMax EQU 0
MUIV_Window_Height_Visible EQU -100
MUIV_Window_Height_Screen EQU -200
MUIV_Window_Height_Scaled EQU -1000
MUIV_Window_Height_Default EQU -1001
MUIV_Window_LeftEdge_Centered EQU -1
MUIV_Window_LeftEdge_Moused EQU -2
MUIV_Window_Menu_NoMenu EQU -1
MUIV_Window_TopEdge_Centered EQU -1
MUIV_Window_TopEdge_Moused EQU -2
MUIV_Window_TopEdge_Delta EQU -3
MUIV_Window_Width_MinMax EQU 0
MUIV_Window_Width_Visible EQU -100
MUIV_Window_Width_Screen EQU -200
MUIV_Window_Width_Scaled EQU -1000
MUIV_Window_Width_Default EQU -1001
;****************************************************************************
;** Area.mui 7.15 (28.11.93) **
;****************************************************************************
;** Methods **
MUIM_AskMinMax EQU $80423874
MUIM_Cleanup EQU $8042d985
MUIM_Draw EQU $80426f3f
MUIM_HandleInput EQU $80422a1a
MUIM_Hide EQU $8042f20f
MUIM_Setup EQU $80428354
MUIM_Show EQU $8042cc84
;** Attributes **
MUIA_ApplicationObject EQU $8042d3ee ;** ..g Object * **
MUIA_Background EQU $8042545b ;** is. LONG **
MUIA_BottomEdge EQU $8042e552 ;** ..g LONG **
MUIA_ControlChar EQU $8042120b ;** i.. char **
MUIA_Disabled EQU $80423661 ;** isg BOOL **
MUIA_ExportID EQU $8042d76e ;** isg LONG **
MUIA_FixHeight EQU $8042a92b ;** i.. LONG **
MUIA_FixHeightTxt EQU $804276f2 ;** i.. LONG **
MUIA_FixWidth EQU $8042a3f1 ;** i.. LONG **
MUIA_FixWidthTxt EQU $8042d044 ;** i.. STRPTR **
MUIA_Font EQU $8042be50 ;** i.g struct TextFont * **
MUIA_Frame EQU $8042ac64 ;** i.. LONG **
MUIA_FramePhantomHoriz EQU $8042ed76 ;** i.. BOOL **
MUIA_FrameTitle EQU $8042d1c7 ;** i.. STRPTR **
MUIA_Height EQU $80423237 ;** ..g LONG **
MUIA_HorizWeight EQU $80426db9 ;** i.. LONG **
MUIA_InnerBottom EQU $8042f2c0 ;** i.. LONG **
MUIA_InnerLeft EQU $804228f8 ;** i.. LONG **
MUIA_InnerRight EQU $804297ff ;** i.. LONG **
MUIA_InnerTop EQU $80421eb6 ;** i.. LONG **
MUIA_InputMode EQU $8042fb04 ;** i.. LONG **
MUIA_LeftEdge EQU $8042bec6 ;** ..g LONG **
MUIA_Pressed EQU $80423535 ;** ..g BOOL **
MUIA_RightEdge EQU $8042ba82 ;** ..g LONG **
MUIA_Selected EQU $8042654b ;** isg BOOL **
MUIA_ShowMe EQU $80429ba8 ;** isg BOOL **
MUIA_ShowSelState EQU $8042caac ;** i.. BOOL **
MUIA_Timer EQU $80426435 ;** ..g LONG **
MUIA_TopEdge EQU $8042509b ;** ..g LONG **
MUIA_VertWeight EQU $804298d0 ;** i.. LONG **
MUIA_Weight EQU $80421d1f ;** i.. LONG **
MUIA_Width EQU $8042b59c ;** ..g LONG **
MUIA_Window EQU $80421591 ;** ..g struct Window * **
MUIA_WindowObject EQU $8042669e ;** ..g Object * **
MUIV_Font_Inherit EQU 0
MUIV_Font_Normal EQU -1
MUIV_Font_List EQU -2
MUIV_Font_Tiny EQU -3
MUIV_Font_Fixed EQU -4
MUIV_Font_Title EQU -5
MUIV_Frame_None EQU 0
MUIV_Frame_Button EQU 1
MUIV_Frame_ImageButton EQU 2
MUIV_Frame_Text EQU 3
MUIV_Frame_String EQU 4
MUIV_Frame_ReadList EQU 5
MUIV_Frame_InputList EQU 6
MUIV_Frame_Prop EQU 7
MUIV_Frame_Gauge EQU 8
MUIV_Frame_Group EQU 9
MUIV_Frame_PopUp EQU 10
MUIV_Frame_Virtual EQU 11
MUIV_Frame_Slider EQU 12
MUIV_Frame_Count EQU 13
MUIV_InputMode_None EQU 0
MUIV_InputMode_RelVerify EQU 1
MUIV_InputModeRelVerify EQU 1
MUIV_InputMode_Immediate EQU 2
MUIV_InputMode_Toggle EQU 3
;****************************************************************************
;** Rectangle.mui 7.14 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Rectangle_HBar EQU $8042c943 ;** i.g BOOL **
MUIA_Rectangle_VBar EQU $80422204 ;** i.g BOOL **
;****************************************************************************
;** Image.mui 7.13 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Image_FontMatch EQU $8042815d ;** i.. BOOL **
MUIA_Image_FontMatchHeight EQU $80429f26 ;** i.. BOOL **
MUIA_Image_FontMatchWidth EQU $804239bf ;** i.. BOOL **
MUIA_Image_FreeHoriz EQU $8042da84 ;** i.. BOOL **
MUIA_Image_FreeVert EQU $8042ea28 ;** i.. BOOL **
MUIA_Image_OldImage EQU $80424f3d ;** i.. struct Image * **
MUIA_Image_Spec EQU $804233d5 ;** i.. char * **
MUIA_Image_State EQU $8042a3ad ;** is. LONG **
;****************************************************************************
;** Text.mui 7.15 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Text_Contents EQU $8042f8dc ;** isg STRPTR **
MUIA_Text_HiChar EQU $804218ff ;** i.. char **
MUIA_Text_PreParse EQU $8042566d ;** isg STRPTR **
MUIA_Text_SetMax EQU $80424d0a ;** i.. BOOL **
MUIA_Text_SetMin EQU $80424e10 ;** i.. BOOL **
;****************************************************************************
;** String.mui 7.13 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_String_Accept EQU $8042e3e1 ;** isg STRPTR **
MUIA_String_Acknowledge EQU $8042026c ;** ..g STRPTR **
MUIA_String_AttachedList EQU $80420fd2 ;** i.. Object * **
MUIA_String_BufferPos EQU $80428b6c ;** .sg LONG **
MUIA_String_Contents EQU $80428ffd ;** isg STRPTR **
MUIA_String_DisplayPos EQU $8042ccbf ;** .sg LONG **
MUIA_String_EditHook EQU $80424c33 ;** isg struct Hook * **
MUIA_String_Format EQU $80427484 ;** i.g LONG **
MUIA_String_Integer EQU $80426e8a ;** isg ULONG **
MUIA_String_MaxLen EQU $80424984 ;** i.. LONG **
MUIA_String_Reject EQU $8042179c ;** isg STRPTR **
MUIA_String_Secret EQU $80428769 ;** i.g BOOL **
MUIV_String_Format_Left EQU 0
MUIV_String_Format_Center EQU 1
MUIV_String_Format_Right EQU 2
;****************************************************************************
;** Prop.mui 7.12 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Prop_Entries EQU $8042fbdb ;** isg LONG **
MUIA_Prop_First EQU $8042d4b2 ;** isg LONG **
MUIA_Prop_Horiz EQU $8042f4f3 ;** i.g BOOL **
MUIA_Prop_Slider EQU $80429c3a ;** isg BOOL **
MUIA_Prop_Visible EQU $8042fea6 ;** isg LONG **
;****************************************************************************
;** Gauge.mui 7.42 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Gauge_Current EQU $8042f0dd ;** isg LONG **
MUIA_Gauge_Divide EQU $8042d8df ;** isg BOOL **
MUIA_Gauge_Horiz EQU $804232dd ;** i.. BOOL **
MUIA_Gauge_InfoText EQU $8042bf15 ;** isg char * **
MUIA_Gauge_Max EQU $8042bcdb ;** isg LONG **
;****************************************************************************
;** Scale.mui 7.38 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Scale_Horiz EQU $8042919a ;** isg BOOL **
;****************************************************************************
;** Boopsi.mui 7.37 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Boopsi_Class EQU $80426999 ;** isg struct IClass * **
MUIA_Boopsi_ClassID EQU $8042bfa3 ;** isg char * **
MUIA_Boopsi_MaxHeight EQU $8042757f ;** isg ULONG **
MUIA_Boopsi_MaxWidth EQU $8042bcb1 ;** isg ULONG **
MUIA_Boopsi_MinHeight EQU $80422c93 ;** isg ULONG **
MUIA_Boopsi_MinWidth EQU $80428fb2 ;** isg ULONG **
MUIA_Boopsi_Object EQU $80420178 ;** ..g Object * **
MUIA_Boopsi_Remember EQU $8042f4bd ;** i.. ULONG **
MUIA_Boopsi_TagDrawInfo EQU $8042bae7 ;** isg ULONG **
MUIA_Boopsi_TagScreen EQU $8042bc71 ;** isg ULONG **
MUIA_Boopsi_TagWindow EQU $8042e11d ;** isg ULONG **
;****************************************************************************
;** Colorfield.mui 7.39 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Colorfield_Blue EQU $8042d3b0 ;** isg ULONG **
MUIA_Colorfield_Green EQU $80424466 ;** isg ULONG **
MUIA_Colorfield_Pen EQU $8042713a ;** ..g ULONG **
MUIA_Colorfield_Red EQU $804279f6 ;** isg ULONG **
MUIA_Colorfield_RGB EQU $8042677a ;** isg ULONG * **
;****************************************************************************
;** List.mui 7.22 (28.11.93) **
;****************************************************************************
;** Methods **
MUIM_List_Clear EQU $8042ad89
MUIM_List_Exchange EQU $8042468c
MUIM_List_GetEntry EQU $804280ec
MUIM_List_Insert EQU $80426c87
MUIM_List_InsertSingle EQU $804254d5
MUIM_List_Jump EQU $8042baab
MUIM_List_NextSelected EQU $80425f17
MUIM_List_Redraw EQU $80427993
MUIM_List_Remove EQU $8042647e
MUIM_List_Select EQU $804252d8
MUIM_List_Sort EQU $80422275
;** Attributes **
MUIA_List_Active EQU $8042391c ;** isg LONG **
MUIA_List_AdjustHeight EQU $8042850d ;** i.. BOOL **
MUIA_List_AdjustWidth EQU $8042354a ;** i.. BOOL **
MUIA_List_CompareHook EQU $80425c14 ;** is. struct Hook * **
MUIA_List_ConstructHook EQU $8042894f ;** is. struct Hook * **
MUIA_List_DestructHook EQU $804297ce ;** is. struct Hook * **
MUIA_List_DisplayHook EQU $8042b4d5 ;** is. struct Hook * **
MUIA_List_Entries EQU $80421654 ;** ..g LONG **
MUIA_List_First EQU $804238d4 ;** ..g LONG **
MUIA_List_Format EQU $80423c0a ;** isg STRPTR **
MUIA_List_MultiTestHook EQU $8042c2c6 ;** is. struct Hook * **
MUIA_List_Quiet EQU $8042d8c7 ;** .s. BOOL **
MUIA_List_SourceArray EQU $8042c0a0 ;** i.. APTR **
MUIA_List_Title EQU $80423e66 ;** isg char * **
MUIA_List_Visible EQU $8042191f ;** ..g LONG **
MUIV_List_Active_Off EQU -1
MUIV_List_Active_Top EQU -2
MUIV_List_Active_Bottom EQU -3
MUIV_List_Active_Up EQU -4
MUIV_List_Active_Down EQU -5
MUIV_List_Active_PageUp EQU -6
MUIV_List_Active_PageDown EQU -7
MUIV_List_ConstructHook_String EQU -1
MUIV_List_CopyHook_String EQU -1
MUIV_List_CursorType_None EQU 0
MUIV_List_CursorType_Bar EQU 1
MUIV_List_CursorType_Rect EQU 2
MUIV_List_DestructHook_String EQU -1
;****************************************************************************
;** Floattext.mui 7.40 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Floattext_Justify EQU $8042dc03 ;** isg BOOL **
MUIA_Floattext_SkipChars EQU $80425c7d ;** is. STRPTR **
MUIA_Floattext_TabSize EQU $80427d17 ;** is. LONG **
MUIA_Floattext_Text EQU $8042d16a ;** isg STRPTR **
;****************************************************************************
;** Volumelist.mui 7.37 (10.02.94) **
;****************************************************************************
;****************************************************************************
;** Scrmodelist.mui 7.45 (10.02.94) **
;****************************************************************************
;** Attributes **
;****************************************************************************
;** Dirlist.mui 7.38 (10.02.94) **
;****************************************************************************
;** Methods **
MUIM_Dirlist_ReRead EQU $80422d71
;** Attributes **
MUIA_Dirlist_AcceptPattern EQU $8042760a ;** is. STRPTR **
MUIA_Dirlist_Directory EQU $8042ea41 ;** is. STRPTR **
MUIA_Dirlist_DrawersOnly EQU $8042b379 ;** is. BOOL **
MUIA_Dirlist_FilesOnly EQU $8042896a ;** is. BOOL **
MUIA_Dirlist_FilterDrawers EQU $80424ad2 ;** is. BOOL **
MUIA_Dirlist_FilterHook EQU $8042ae19 ;** is. struct Hook * **
MUIA_Dirlist_MultiSelDirs EQU $80428653 ;** is. BOOL **
MUIA_Dirlist_NumBytes EQU $80429e26 ;** ..g LONG **
MUIA_Dirlist_NumDrawers EQU $80429cb8 ;** ..g LONG **
MUIA_Dirlist_NumFiles EQU $8042a6f0 ;** ..g LONG **
MUIA_Dirlist_Path EQU $80426176 ;** ..g STRPTR **
MUIA_Dirlist_RejectIcons EQU $80424808 ;** is. BOOL **
MUIA_Dirlist_RejectPattern EQU $804259c7 ;** is. STRPTR **
MUIA_Dirlist_SortDirs EQU $8042bbb9 ;** is. LONG **
MUIA_Dirlist_SortHighLow EQU $80421896 ;** is. BOOL **
MUIA_Dirlist_SortType EQU $804228bc ;** is. LONG **
MUIA_Dirlist_Status EQU $804240de ;** ..g LONG **
MUIV_Dirlist_SortDirs_First EQU 0
MUIV_Dirlist_SortDirs_Last EQU 1
MUIV_Dirlist_SortDirs_Mix EQU 2
MUIV_Dirlist_SortType_Name EQU 0
MUIV_Dirlist_SortType_Date EQU 1
MUIV_Dirlist_SortType_Size EQU 2
MUIV_Dirlist_Status_Invalid EQU 0
MUIV_Dirlist_Status_Reading EQU 1
MUIV_Dirlist_Status_Valid EQU 2
;****************************************************************************
;** Group.mui 7.12 (28.11.93) **
;****************************************************************************
;** Methods **
;** Attributes **
MUIA_Group_ActivePage EQU $80424199 ;** isg LONG **
MUIA_Group_Child EQU $804226e6 ;** i.. Object * **
MUIA_Group_Columns EQU $8042f416 ;** is. LONG **
MUIA_Group_Horiz EQU $8042536b ;** i.. BOOL **
MUIA_Group_HorizSpacing EQU $8042c651 ;** is. LONG **
MUIA_Group_PageMode EQU $80421a5f ;** is. BOOL **
MUIA_Group_Rows EQU $8042b68f ;** is. LONG **
MUIA_Group_SameHeight EQU $8042037e ;** i.. BOOL **
MUIA_Group_SameSize EQU $80420860 ;** i.. BOOL **
MUIA_Group_SameWidth EQU $8042b3ec ;** i.. BOOL **
MUIA_Group_Spacing EQU $8042866d ;** is. LONG **
MUIA_Group_VertSpacing EQU $8042e1bf ;** is. LONG **
;****************************************************************************
;** Group.mui 7.12 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Register_Frame EQU $8042349b ;** i.g BOOL **
MUIA_Register_Titles EQU $804297ec ;** i.g STRPTR * **
;****************************************************************************
;** Virtgroup.mui 7.37 (10.02.94) **
;****************************************************************************
;** Methods **
;** Attributes **
MUIA_Virtgroup_Height EQU $80423038 ;** ..g LONG **
MUIA_Virtgroup_Left EQU $80429371 ;** isg LONG **
MUIA_Virtgroup_Top EQU $80425200 ;** isg LONG **
MUIA_Virtgroup_Width EQU $80427c49 ;** ..g LONG **
;****************************************************************************
;** Scrollgroup.mui 7.35 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Scrollgroup_Contents EQU $80421261 ;** i.. Object * **
;****************************************************************************
;** Scrollbar.mui 7.12 (28.11.93) **
;****************************************************************************
;****************************************************************************
;** Listview.mui 7.13 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Listview_ClickColumn EQU $8042d1b3 ;** ..g LONG **
MUIA_Listview_DefClickColumn EQU $8042b296 ;** isg LONG **
MUIA_Listview_DoubleClick EQU $80424635 ;** i.g BOOL **
MUIA_Listview_Input EQU $8042682d ;** i.. BOOL **
MUIA_Listview_List EQU $8042bcce ;** i.. Object * **
MUIA_Listview_MultiSelect EQU $80427e08 ;** i.. LONG **
MUIA_Listview_SelectChange EQU $8042178f ;** ..g BOOL **
MUIV_Listview_MultiSelect_None EQU 0
MUIV_Listview_MultiSelect_Default EQU 1
MUIV_Listview_MultiSelect_Shifted EQU 2
MUIV_Listview_MultiSelect_Always EQU 3
;****************************************************************************
;** Radio.mui 7.12 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Radio_Active EQU $80429b41 ;** isg LONG **
MUIA_Radio_Entries EQU $8042b6a1 ;** i.. STRPTR * **
;****************************************************************************
;** Cycle.mui 7.16 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Cycle_Active EQU $80421788 ;** isg LONG **
MUIA_Cycle_Entries EQU $80420629 ;** i.. STRPTR * **
MUIV_Cycle_Active_Next EQU -1
MUIV_Cycle_Active_Prev EQU -2
;****************************************************************************
;** Slider.mui 7.12 (28.11.93) **
;****************************************************************************
;** Attributes **
MUIA_Slider_Level EQU $8042ae3a ;** isg LONG **
MUIA_Slider_Max EQU $8042d78a ;** i.. LONG **
MUIA_Slider_Min EQU $8042e404 ;** i.. LONG **
MUIA_Slider_Quiet EQU $80420b26 ;** i.. BOOL **
MUIA_Slider_Reverse EQU $8042f2a0 ;** isg BOOL **
;****************************************************************************
;** Coloradjust.mui 7.47 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Coloradjust_Blue EQU $8042b8a3 ;** isg ULONG **
MUIA_Coloradjust_Green EQU $804285ab ;** isg ULONG **
MUIA_Coloradjust_ModeID EQU $8042ec59 ;** isg ULONG **
MUIA_Coloradjust_Red EQU $80420eaa ;** isg ULONG **
MUIA_Coloradjust_RGB EQU $8042f899 ;** isg ULONG * **
;****************************************************************************
;** Palette.mui 7.36 (10.02.94) **
;****************************************************************************
;** Attributes **
MUIA_Palette_Entries EQU $8042a3d8 ;** i.g struct MUI_Palette_Entry * **
MUIA_Palette_Groupable EQU $80423e67 ;** isg BOOL **
MUIA_Palette_Names EQU $8042c3a2 ;** isg char ** **
;****************************************************************************
;** Colorpanel.mui 7.12 (10.02.94) **
;****************************************************************************
;** Methods **
;** Attributes **
;****************************************************************************
;** Popstring.mui 7.19 (02.12.93) **
;****************************************************************************
;** Methods **
MUIM_Popstring_Close EQU $8042dc52
MUIM_Popstring_Open EQU $804258ba
;** Attributes **
MUIA_Popstring_Button EQU $8042d0b9 ;** i.g Object * **
MUIA_Popstring_CloseHook EQU $804256bf ;** isg struct Hook * **
MUIA_Popstring_OpenHook EQU $80429d00 ;** isg struct Hook * **
MUIA_Popstring_String EQU $804239ea ;** i.g Object * **
MUIA_Popstring_Toggle EQU $80422b7a ;** isg BOOL **
;****************************************************************************
;** Popobject.mui 7.18 (02.12.93) **
;****************************************************************************
;** Attributes **
MUIA_Popobject_Follow EQU $80424cb5 ;** isg BOOL **
MUIA_Popobject_Light EQU $8042a5a3 ;** isg BOOL **
MUIA_Popobject_Object EQU $804293e3 ;** i.g Object * **
MUIA_Popobject_ObjStrHook EQU $8042db44 ;** isg struct Hook * **
MUIA_Popobject_StrObjHook EQU $8042fbe1 ;** isg struct Hook * **
MUIA_Popobject_Volatile EQU $804252ec ;** isg BOOL **
;****************************************************************************
;** Popasl.mui 7.5 (03.12.93) **
;****************************************************************************
;** Attributes **
MUIA_Popasl_Active EQU $80421b37 ;** ..g BOOL **
MUIA_Popasl_StartHook EQU $8042b703 ;** isg struct Hook * **
MUIA_Popasl_StopHook EQU $8042d8d2 ;** isg struct Hook * **
MUIA_Popasl_Type EQU $8042df3d ;** i.g ULONG **
;****************************************************************************
;** Macro section - Some macros thrown away **
;****************************************************************************
*** Macro to move a tagitem to stack if it is given
cmv3 MACRO ; Tag
IFNC '\1',''
move.l \1,-(sp)
ENDC
ENDM
*** DoMethod macro for easier assembler DoMethod'ing, max 20 tagitems.
*** Note that _DoMethod is defined in amiga.lib, so you must link
*** your own object code with it.
DoMethod MACRO ; obj, MethodID, tag1, [...]
movem.l a0/a2,-(sp)
move.l sp,a2
clr.l -(sp)
cmv3 \L
cmv3 \K
cmv3 \J
cmv3 \I
cmv3 \H
cmv3 \G
cmv3 \F
cmv3 \E
cmv3 \D
cmv3 \C
cmv3 \B
cmv3 \A
cmv3 \9
cmv3 \8
cmv3 \7
cmv3 \6
cmv3 \5
cmv3 \4
cmv3 \3
cmv3 \2
cmv3 \1
jsr _DoMethod
move.l a2,sp
movem.l (sp)+,a0/a2
ENDM
*** MUI_Request macro for easier assembler MUI_Request'ing, max
*** 20 tagitems.
MUI_Request MACRO ; app,win,flags,title,gadgets,format,[params,...]
movem.l a0-a4,-(sp)
move.l sp,a4
cmv3 \L
cmv3 \K
cmv3 \J
cmv3 \I
cmv3 \H
cmv3 \G
cmv3 \F
cmv3 \E
cmv3 \D
cmv3 \C
cmv3 \B
cmv3 \A
cmv3 \9
cmv3 \8
cmv3 \7
move.l a4,a3
move.l #\6,a2
move.l #\5,a1
move.l #\4,a0
move.l #\3,d2
move.l \2,d1
move.l \1,d0
CALLMUI MUI_RequestA
move.l a4,sp
movem.l (sp)+,a0-a4
ENDM
Child EQU MUIA_Group_Child
SubWindow EQU MUIA_Application_Window
WindowContents EQU MUIA_Window_RootObject
****************************************************************************
**
** Controlling Objects
** -------------------
**
** set() and get() are two short stubs for BOOPSI GetAttr() and SetAttrs()
** calls:
**
** {
** char *x;
**
** set(obj,MUIA_String_Contents,"foobar");
** get(obj,MUIA_String_Contents,&x);
**
** printf("gadget contains '%s'\n",x);
** }
**
****************************************************************************
****************************************************************************
***
*** And the above C example in assembler:
***
*** seti obj,#MUIA_String_Contents,#foobar
*** geti obj,#MUIA_String_Contents,#x
*** move.l #myfmt,d1
*** move.l #data,d2
*** CALLDOS VPrintf
***
*** foobar dc.b "foobar",0
*** even
*** data dc.l x
*** x dcb.b 10
*** myfmt dc.b "gadget contains '%s'",10,0
*** even
***
*** The names of the set and get macros have been changed to seti and geti
*** since most assemblers already have the pseudo op-code SET.
*** Note that seti is designed to take multiple tagitems (max 8).
***
****************************************************************************
geti MACRO ; obj,attr,store
move.l \2,d0
move.l \1,a0
move.l \3,a1
CALLINT GetAttr
ENDM
seti MACRO ; obj,attr,value [,attr,value,...]
move.l sp,a2
cmv3 #TAG_DONE
cmv3 \9
cmv3 \8
cmv3 \7
cmv3 \6
cmv3 \5
cmv3 \4
cmv3 \3
cmv3 \2
move.l \1,a0
move.l sp,a1
CALLINT SetAttrsA
move.l a2,sp
ENDM
nnseti MACRO ; obj,attr,value [,attr,value,...]
move.l sp,a2
cmv3 #TAG_DONE
cmv3 #TRUE
cmv3 #MUIA_Notify
cmv3 \9
cmv3 \8
cmv3 \7
cmv3 \6
cmv3 \5
cmv3 \4
cmv3 \3
cmv3 \2
move.l \1,a0
move.l sp,a1
CALLINT SetAttrsA
move.l a2,sp
ENDM
setmutex MACRO ; obj,n
seti \1,#MUIA_Radio_Active,\2
ENDM
setcycle MACRO ; obj,n
seti \1,#MUIA_Cycle_Active,\2
ENDM
setstring MACRO ; obj,s
seti \1,#MUIA_String_Contents,\2
ENDM
setcheckmark MACRO ; obj,b
seti \1,#MUIA_Selected,\2
ENDM
setslider MACRO ; obj,l
seti \1,#MUIA_Slider_Level,\2
ENDM
***************************************************************************
**
** For Boopsi Image Implementors Only:
**
** If MUI is using a boopsi image object, it will send a special method
** immediately after object creation. This method has a parameter structure
** where the boopsi can fill in its minimum and maximum size and learn if
** its used in a horizontal or vertical context.
**
** The boopsi image must use the method id (MUIM_BoopsiQuery) as return
** value. That's how MUI sees that the method is implemented.
**
** Note: MUI does not depend on this method. If the boopsi image doesn't
** implement it, minimum size will be 0 and maximum size unlimited.
**
***************************************************************************
MUIM_BoopsiQuery EQU $80427157 ;this is send to the boopsi and
;must be used as return value
;;;;;;;;;!!!!!!!!!!!!!
; STRUCTURE MUI_BoopsiQuery,0 ; parameter structure
; ULONG mbq_MethodID ; always MUIM_BoopsiQuery
; STRUCT Screen,mbq_Screen ; obsolete, use mbq_RenderInfo
; ULONG mbq_Flags ; read only, see below
; LONG mbq_MinWidth ; write only, fill in min width
; LONG mbq_MinHeight ; write only, fill in min height
; LONG mbq_MaxWidth ; write only, fill in max width
; LONG mbq_MaxHeight ; write only, fill in max height
; LONG mbq_DefWidth ; write only, fill in def width
; LONG mbq_DefHeight ; write only, fill in def height
; struct MUI_RenderInfo *mbq_RenderInfo ; read only, display context
; LABEL MUI_BoopsiQuery_SIZEOF
;may grow in future ...
;;;; MUIP_BoopsiQuery EQU MUI_BoopsiQuery ; old structure name
MBQF_HORIZ EQU 1<<0 ; object used in a horizontal
; context (else vertical)
MBQ_MUI_MAXMAX EQU 10000 ; use this for unlimited MaxWidth/Height
ENDC ;LIBRARIES_MUI_I